package codigoObjeto;

public class Codigo {

	public Rotulo rotulo;
	public Operator operator;
	public String destino;
	public String operando;
	
	public Codigo(){
		Rotulo r = Rotulo.getNextRotulo();
		this.setRotulo(r);
	}
	
	public Codigo(Operator operator, String destino,	String operando) {
		Rotulo r = Rotulo.getNextRotulo();
		this.setRotulo(r);
		
		this.operator = operator;
		this.destino = destino;
		this.operando = operando;
	}
	
	public Codigo(Rotulo rotulo, Operator operator, String destino,
			String operando) {
		this.rotulo = rotulo;
		this.operator = operator;
		this.destino = destino;
		this.operando = operando;
	}
	
	public Rotulo getRotulo() {
		return rotulo;
	}
	public void setRotulo(Rotulo rotulo) {
		this.rotulo = rotulo;
	}
	public Operator getOperator() {
		return operator;
	}
	public void setOperator(Operator operator) {
		this.operator = operator;
	}
	public String getDestino() {
		return destino;
	}
	public void setDestino(String destino) {
		this.destino = destino;
	}
	public String getOperando() {
		return operando;
	}
	public void setOperando(String operando) {
		this.operando = operando;
	}
	
	public String toString(){
		String str = "";
		
		if (this.rotulo != null) str += this.rotulo.getLabel() + ": ";
		if (this.operator != null) str += this.operator.toString();
		if (this.destino != null)  str += " " + this.destino;
		if (this.operando != null) str += ", " + this.operando;
		
		return str + "\n";
	}
	
	
}
